Title: Description Disruption Fix
Author: SilentEnigma
Version: 1.2
Release Date: 2021-03-01
Applies to: FF3us 1.0, FF3us 1.1
Tested on: Final Fantasy III (v1.0) (U)

Contents:

    DescriptionDisruption-H.ips = patch for headered ROMs (3146240 bytes)

    DescriptionDisruption-NH.ips = patch for unheadered ROMs

    DescriptionDisruption-A-H.ips = anti-patch for headered ROMs

    DescriptionDisruption-A-NH.ips = anti-patch for unheadered ROMs
    
    readme.txt = this file
    
ROM Addresses:

    C3/02A3 - C3/02A4, C3/A897 - C3/A899
    
    Free space used: 28 bytes, C3/FA30 - C3/FA4B


Urgency: Medium/Low. The bug is a temporary visual flaw.

--------------------------------------------------

TABLE OF CONTENTS

0. Description
1. Relevant Offsets & Disassembly
2. Acknowledgments
3. Revision History
4. Legal
________________________________________________________________________________

  0. DESCRIPTION
________________________________________________________________________________


When browsing the field menu's items list, a description of the item under the
cursor will gradually fill the panel above the list. For equippable items, the
player may "double-click" on the item to display its details screen (showing the
item's elemental strengths and weaknesses, lists the applicable characters).

If the player enters the details screen before the item's description has
finished filling the upper panel, the text stream will get cut off partway and
remain stuck until the player exits the details screen and moves the cursor
away from the item.

This patch ensures that an item's description continues to fill the upper panel
uninterrupted, even as the player navigates to the equippable item details
screen.

________________________________________________________________________________

  1. RELEVANT OFFSETS & DISASSEMBLY
________________________________________________________________________________

Original:
 C3/02A3: 83 89  ; pointer to subroutine C3/8983, equipment details screen
Modified:
 C3/02A3: 30 FA  ; pointer to new subroutine C3/FA30

Original:
 C3/A897: 9E 49 36    STZ $3649,X  ; resets the item description display
Modified:
 C3/A897: 20 3B FA    JSR $FA3B    ; Jump to new subroutine C3/FA3B

New subroutine C3/FA30:
 C3/FA30: A9 10       LDA #$10     ; duplicated from C3/1EF7
 C3/FA32: 14 45       TRB $45
 C3/FA34: 20 FD 0E    JSR $0EFD
 C3/FA37: 18          CLC
 C3/FA38: 4C 83 89    JMP $8983    ; originally pointed by C3/02A3

New subroutine C3/FA3B:
 C3/FA3B: 48          PHA
 C3/FA3C: A5 26       LDA $26
 C3/FA3E: C9 5E       CMP #$5E
 C3/FA40: F0 08       BEQ $FA4A
 C3/FA42: 4A          LSR
 C3/FA43: C9 32       CMP #$32
 C3/FA45: F0 03       BEQ $FA4A
 C3/FA47: 9E 49 36    STZ $3649,X  ; resets the item description display
 C3/FA4A: 68          PLA
 C3/FA4B: 60          RTS

________________________________________________________________________________

  2. ACKNOWLEDGMENTS
________________________________________________________________________________

Special thanks to:

 Imzogelmo, for his disassembly of bank C3.
 http://www.angelfire.com/al2/imzogelmo/patches.html#disassembly

 Warrax, for finding the bug in v1.0.
 https://www.ff6hacking.com/forums/user-1647.html

________________________________________________________________________________

  3. REVISION HISTORY
________________________________________________________________________________


2020-02-14 : Version 1.0 released.

2020-10-10 : Version 1.1 released.
 - Fixed R & L buttons not being disabled in the item details screen.

2021-03-01 : Version 1.2 released.
 - Resolved patch conflict with Madsiur's "Music Player" patch as used in
   Rodimus Primal's "Final Fantasy VI - Ted Woolsey Uncensored Edition" (tested
   on version 3.01).

________________________________________________________________________________

  4. LEGAL
________________________________________________________________________________

Copyright (C) 2020, 2021 David R. Thompson (SilentEnigma).

The copyright holder ("author") permits the free use of the attributed work
referenced by this document exclusively for non-commercial purposes, provided
that the following conditions are met:
1. The author and all contributors credited in this readme document shall be
 given credit for their respective contributions wherever the attributed work is
 reused, redistributed, or modified.
2. This readme document shall accompany any of the files comprising the
 attributed work wherever they are redistributed in unmodified form.

The work(s) and file(s) distributed with this document are provided "AS-IS",
WITHOUT ANY WARRANTY. The author shall not be held responsible for any damages
related to the use of work(s) and file(s) distributed with this document.
